@echo off
chcp 65001 >nul
echo ========================================
echo Win11 工具箱 - 打包脚本
echo ========================================
echo.

REM 检查Python是否安装
python --version >nul 2>&1
if errorlevel 1 (
    echo [错误] 未检测到Python，请先安装Python
    pause
    exit /b 1
)

echo [1/5] 检查Python环境...
python --version
echo.

REM 检查PyInstaller是否安装
echo [2/5] 检查PyInstaller...
pip show pyinstaller >nul 2>&1
if errorlevel 1 (
    echo PyInstaller未安装，正在安装...
    pip install pyinstaller
    if errorlevel 1 (
        echo [错误] PyInstaller安装失败
        pause
        exit /b 1
    )
) else (
    echo PyInstaller已安装
)
echo.

REM 清理旧的构建文件
echo [3/5] 清理旧的构建文件...
if exist "build" (
    echo 删除 build 目录...
    rmdir /s /q build
)
if exist "dist" (
    echo 删除 dist 目录...
    rmdir /s /q dist
)
if exist "*.spec" (
    echo 删除 spec 文件...
    del /q *.spec
)
echo 清理完成
echo.

REM 开始打包
echo [4/5] 开始打包程序...
echo 这可能需要几分钟时间，请耐心等待...
echo.

pyinstaller --noconfirm ^
    --onefile ^
    --windowed ^
    --name "Win11工具箱" ^
    --icon=icon.ico ^
    --add-data "README.md;." ^
    --add-data "COM_PORT_CLEANER_README.md;." ^
    --uac-admin ^
    main.py

if errorlevel 1 (
    echo.
    echo [错误] 打包失败！
    pause
    exit /b 1
)

echo.
echo [5/5] 打包完成！
echo.

REM 检查输出文件
if exist "dist\Win11工具箱.exe" (
    echo ========================================
    echo 打包成功！
    echo ========================================
    echo.
    echo 输出文件位置：
    echo   %cd%\dist\Win11工具箱.exe
    echo.
    echo 文件大小：
    for %%A in ("dist\Win11工具箱.exe") do echo   %%~zA 字节
    echo.
    echo 提示：
    echo   - 可执行文件位于 dist 目录中
    echo   - 首次运行可能需要管理员权限
    echo   - 可以将exe文件复制到任意位置使用
    echo.
) else (
    echo [错误] 未找到输出文件
    pause
    exit /b 1
)

echo ========================================
pause
